package com.xuecheng.framework.model.response;

import lombok.ToString;

/**
 * @Author: mrt.
 * @Description:
 * @Date:Created in 2018/1/24 18:33.
 * @Modified By:
 */

@ToString
public enum CommonCode implements ResultCode {
    /**
     * 操作成功！
     */
    SUCCESS(true, 10000, "操作成功！"),
    /**
     * 操作失败！
     */
    FAIL(false, 11111, "操作失败！"),
    /**
     * 此操作需要登陆系统！
     */
    UNAUTHENTICATED(false, 10001, "此操作需要登陆系统！"),
    /**
     * 权限不足，无权操作！
     */
    UNAUTHORISE(false, 10002, "权限不足，无权操作！"),
    /**
     * 抱歉，系统繁忙，请稍后重试！
     */
    SERVER_ERROR(false, 99999, "抱歉，系统繁忙，请稍后重试！"),
    /**
     * 非法参数
     */
    INVALID_PARAM(false, 10003, "非法参数！");
//    private static ImmutableMap<Integer, CommonCode> codes ;
    /**
     * 操作是否成功
     */
    boolean success;
    /**
     * 操作代码
     */
    int code;
    /**
     * 提示信息
     */
    String message;

    private CommonCode(boolean success, int code, String message) {
        this.success = success;
        this.code = code;
        this.message = message;
    }

    @Override
    public boolean success() {
        return success;
    }

    @Override
    public int code() {
        return code;
    }

    @Override
    public String message() {
        return message;
    }


}
